How to Successfully Prepare for an Interview and Land Your Dream Job
Throughout my career, I've had hundreds of interviews with investment banks, hedge funds, startups, and tech companies. Some were successful, others less so. I've also been on the other side of the table, interviewing candidates. Additionally, I've prepared several candidates for their interviews, all of whom successfully landed jobs. In this blog post, I want to share my tips on how to best prepare for an interview and boost your chances of landing your dream job.
Before the Interview
Crafting Your CV – Your Ultimate Professional Business Card
To land a job interview, you first need to clear the initial hurdle: the CV review. Whether you apply directly or through a recruiter, your CV will be the first thing evaluated. To ensure you get past this stage and make it to the interview, here are a few tips to help you pass the CV review:
- Short and Catchy: Just like writing efficient KDB/Q code, your CV should be terse. Keep it to one A4 page. No matter how many internships or roles you've had, only include the most relevant ones. Even senior developers manage to keep it to one page, and so can you.
- Tailored Like a Suit: Your CV should be like a good suit: Tailored. While having a general CV is fine when starting your job search, it's better to customize it for each role. Highlight relevant skills and achievements, aligning them with the job requirements. This will make your CV stand out and help recruiters see if you're a match for the position.
Things NOT to do when writing your CV:
- Don't Lie: This should go without saying, but never exaggerate or fabricate skills or experiences. You'll likely get caught during the interview, and even if you don't, it will eventually catch up with you.
- Avoid Unnecessary Details: Skip the headshot and your age. These details aren't necessary and can detract from your qualifications. Keep the focus on your skills and experience.
Preparation: the Key to a Successful Job Application
As the Japanese proverb goes, "Better to be a warrior in a garden than a gardener in a war." The same applies to job applications—you want to be as prepared as possible. Here are a few tips to help you get ready for success.
The Role
The best way to succeed in a job application is to gather as much information as possible about the role you're applying for. This not only ensures you're a good fit, but also helps you determine if the role aligns with your expectations and career goals. Start early by carefully reading the job description and asking the recruiter for more details before your first interview. This will help you prepare effectively. Once you're in the interview process, keep asking relevant questions to the hiring manager, interviewers, and potential team members. Remember, interviews are a two-way street. While the company is assessing your skills, you should also evaluate if the role and workplace are right for you.
Technical Preparation: Master the Art of Showcasing Your Skill
The key to landing your dream job is, of course, having the right skill set for the role. While you may already possess most or all of the required skills, it’s important to prepare and refresh your knowledge before the interview. Often in your current role, you focus on specific tasks and might not need the broader knowledge that an interview demands. During the interview process, you'll likely be questioned on a wide range of topics across multiple sessions, so it's crucial to review and sharpen your technical skills.
The depth of technical questioning typically depends on the level of the role. For junior to mid-level positions, interviews tend to focus on hands-on programming experience. For senior roles, however, you’ll need to demonstrate knowledge in architecture, software design, and building or extending applications. Ensuring you're comfortable with these topics will greatly enhance your chances of success.
Pro tip: Be prepared for live coding. It’s a common practice to be asked to demonstrate your skills in real-time, so make sure you're ready for this aspect of the interview. Although preparing for KDB/Q live coding is a bit more challenging, many big FAANG tech companies often use LeetCode for their coding challenges. If you're interviewing at one of these companies, I highly recommend practicing LeetCode problems to sharpen your skills.
Emotional Quotient (EQ): Social Skills
While the technical aspect is the main focus of any software developer or engineering interview, your social skills and emotional intelligence (EQ) are equally important. After all, you'll be spending around eight hours a day at work, making it crucial for the hiring manager to find someone who fits well with the team culture and can collaborate effectively. Not everyone is an extrovert, and many of us prefer working independently, but emotional intelligence can be developed, at least to some degree. Here are a few tips to help you feel more comfortable and socially engaged:
- Attend (tech) meetups and interact with new people.
- If you're into sports, join a club or any type of group activity.
- Use your current job as a "practice field" for improving your social skills—go to team drink or organize activities with coworkers, and make an effort to socialize with colleagues outside your immediate team.
Effectice strategies to boost your success rate
Acing interviews is a skill in itself. I’ve met many talented software engineers who struggle under the pressure of an interview, while others, who may be less technical, have mastered the art of interviewing and excel in those situations. Fortunately for you, I’m sharing my top strategies to boost your chances of landing your dream job.
Practice! After all, practice makes mastery
Like any other skill, practice leads to mastery, and interviews are no exception. The more interviews you do, the better you’ll become over time. However, unlike other skills, interviews aren’t something you typically practice for. So how can you improve? Just like mock exams help with exam prep, you can create mock interview scenarios. Put yourself in the position of a hiring manager and think about what questions you’d ask a candidate. Then, try answering them yourself.
Of course, this is far less stressful than a real interview, so a better option is to ask a friend (most developers have developer friends) or an ex-colleague to give you a mock interview. You could also apply for roles you're not interested in, just to gain interview experience. However, take this advice with a pinch of salt. You don’t want to risk damaging your reputation by underperforming or turning down offers after a successful interview. For mainstream developer roles, practicing LeetCode challenges is another great way to sharpen your skills before the actual interview.
Don't put all your eggs into one basket
If you've worked in finance, you're likely familiar with the concept of diversification. The same principle can be applied to your job search. To improve your chances of landing a role, apply for multiple positions. However, diversification has diminishing returns, so it’s wise to limit your applications to three to five at a time. This allows you to focus your time and energy on each application, boosting the likelihood of success.
A penny for your thoughts - Share your thought process
During technical interviews, it can be difficult for the interviewer to follow your thought process if you don’t explain it. Let me clarify: Imagine you've been asked to write a program to calculate the next Fibonacci number in a sequence. You take a moment, solve the problem, and give an answer - whether correct or not. Without explaining your reasoning, the interviewer has no insight into how you approached the problem, how you think, or where you may have gone wrong.
A much better approach is to "think out loud" and walk the interviewer through your solution. For example, if asked to write a function that returns the next number in a Fibonacci sequence, you could explain your thought process step-by-step:
“In a Fibonacci sequence, each number is the sum of the two preceding numbers. Given a list of numbers x
, we need to take the last two elements using -2#x
. Then, we sum them using the sum
operator, and finally, append this result to the end of the list using the concatenate operator ,
. So, the solution is {x,sum -2#x}
."
This approach not only demonstrates your problem-solving skills but also gives the interviewer a chance to guide you if you’re on the wrong track, especially with more complex questions.
Situational Questions - Shine with the S.T.A.R appraoch
Every interview contains at least a couple of situational questions: questions about how you behave in certain situations and how you overcome certain problems you might face. Answering these kind of interview questions can sometimes be tricky, especially for a more technical minded person. One way how to approach these questions is to remember the S.T.A.R approach: Situation, Task, Action and Result. First describe the Situation you have been in, what was the context or environment around you like. Next, explain the Task you were given, then proceed to explaining the Actions you have taken and finally explain the Result you achieved. This approach gives you a clear guideline to structure and communicate your answer
Beware: Over-Preparing with Interview Questions Can Backfire
While preparation is key and practice makes mastery, avoid over-relying on sample interview questions. Memorizing specific answers can be limiting. If you face a slightly different question, you might struggle to adapt. Instead, focus on deeply understanding the underlying concepts and how to apply them to various problems. This will give you the flexibility to tackle any question, even if it differs from what you’ve practiced.
Interview Don'ts - What NOT to do
Along with the strategies to boost your chances of landing a job, there are also a few things you should avoid doing.
Don't Lie
Just like with your CV, I strongly believe you should never lie during a job interview—whether it’s about your past experiences, skills, certifications, or anything else. Eventually, the truth will catch up, and it could severely damage your reputation, marking you as untrustworthy.
Be Honest: Don't Fabricate Answers – No One Knows it All
There may come a time during an interview when you're unsure of the answer to a question. I've been in these situations myself, and I prefer to admit that I don’t know or am unsure, rather than guessing or, worse, fabricating an answer. Admitting you don’t know shows honesty and integrity. As someone who’s interviewed candidates, I’d much rather see someone admit they’re unsure than catch them in a fabricated answer, which is a major red flag and usually leads to a "no hire." Here's a tip: there’s a better way to admit uncertainty. Instead of just saying “I don’t know,” explain how you would approach finding the answer or where you would look. This can make a big difference.
After the Interview: What to Do Next
Patience
Once your interview is over, there's not much you can do except be patient and wait for feedback. I know it’s easier said than done, and I’m not the most patient person myself, but since you're likely not the only candidate, it may take the hiring manager a few days to respond. Just remember, until you hear otherwise, you're still in the game.
Keep Preparing: Stay Ahead of the Game
Most roles you'll apply for will involve multiple rounds of interviews, so it's unlikely you'll only have one. After your first interview, continue preparing for the next round. Reflect on how it went: What questions were asked? What did you do well? Where could you improve? This self-review will help you gear up for future interviews, as it’s rare to face the same questions again. If you were unsure about certain topics, revisit them so you're more confident for the next round.
Turning Setbacks into Success: What to Do if the Interview Didn’t Go Your Way
Sometimes, we have to face setbacks, and not receiving the job offer you wanted can be frustrating. However, you have two options: 1. Stay upset and do nothing, or 2. Take a moment to process the disappointment, then reflect on how to improve for the next opportunity. Remember, it might not always be about you; sometimes a more suitable candidate simply comes along. Ask the hiring manager or recruiter for feedback on your performance and areas to improve. There’s always a chance the company will have future openings, and you can reapply with the lessons you’ve learned.
Happily Ever After: When Your Interview was Successful
Congratulations! You've done it! Your hard work paid off, and you've received a job offer. Take a moment to celebrate and be proud of your achievement. Now it's time to handle the formalities of accepting the offer and preparing for your new role. Well done!
Bonus Tip
Always keep in mind that an interview is a two-way process. While the company is evaluating whether you're the right fit and if your skill set aligns with their needs, you should also assess if the role is truly what you're looking for. Consider whether the hiring manager or technical lead is someone you'd enjoy working with and if the team has a positive culture where you can grow, learn, and develop. Remember, taking on a new role is a commitment, and ideally, you'll want to stay in that position for at least a few years before considering your next move.